﻿#Region "IMPORTS"

Imports DAO

#End Region

Public Class UnidadeMedidaDao
    Inherits DAO(Of UnidadeMedida)


#Region "CONSTRUTOR(S)"

    Public Sub New()
        MyBase.New()
    End Sub

#End Region

#Region "METODOS ABSTRATOS"

    Protected Overrides Sub ValidarInsert(modelo As UnidadeMedida)

        Dim NHQL As String = "from UnidadeMedida where Descricao  = '" & modelo.Descricao & "'"
        Dim list As IList = Me.Find(NHQL)
        If list.Count > 0 Then
            Throw New Exception("Já existe uma Unidade de Medida com este Nome")
        End If
    End Sub

    Protected Overrides Sub ValidarDelete(modelo As UnidadeMedida)

    End Sub

    Protected Overrides Sub ValidarUpdate(ByVal modelo As UnidadeMedida)

        Dim NHQL As String = "from UnidadeMedida as um where um.Descricao  = '" & modelo.Descricao & "' AND um.UnidadeMedidaId != " & modelo.UnidadeMedidaId
        Dim list As IList = Me.Find(NHQL)
        If list.Count > 0 Then
            Throw New Exception("Já existe uma Unidade de Medida com este Nome")
        End If

    End Sub

#End Region
End Class
